package dssd.modelo;

import java.util.ArrayList;
import java.util.List;

public class Usuario {
	
	private Long id;
	private String nombre;
	private String apellido;
	private String dni;
	private String password;
	private List<Rol> roles;
	
	public Usuario(){}
	
	public Usuario(String nombre, String apellido, String dni, String password) {
		super();
		this.nombre = nombre;
		this.apellido = apellido;
		this.setDni(dni);
		this.password = password;
		this.roles = new ArrayList<Rol>();
	}

	public Usuario(String nombre, String apellido, String dni,String password, Rol rol) {
		this(nombre, apellido, dni, password);
		this.agregarRol(rol);
	}

	public void agregarRol(Rol rol) {
		this.getRoles().add(rol);
	}

	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

	public void setRoles(List<Rol> roles) {
		this.roles = roles;
	}

	public List<Rol> getRoles() {
		return roles;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getNombre() {
		return nombre;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getApellido() {
		return apellido;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getDni() {
		return dni;
	}

	public boolean tieneRol(String rolname) {
		boolean respuesta = false;
		for (Rol rol : this.getRoles()){
			if (rol.getRolName().equalsIgnoreCase(rolname)){
				respuesta = true;
			}
		}
		return respuesta;
	}

}
